package com.ruoyi.model.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模型关联的波长选择信息，存储波长选择的方法和相关参数对象 model_wave_select
 * 
 * @author weihanqiang
 * @date 2025-08-03
 */
public class ModelWaveSelect extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识一条波长处理记录，用于关联查询 */
    private Long id;

    /** 关联模型表的ID，标识该波长选择属于哪个模型 */
    @Excel(name = "关联模型表的ID，标识该波长选择属于哪个模型")
    private String modelId;

    /** 关联建模数据集表的ID，标识该预处理基于哪个原始数据集执行 */
    @Excel(name = "关联建模数据集表的ID，标识该预处理基于哪个原始数据集执行")
    private Long datasetId;

    /** 波长选择的方法和相关参数 */
    @Excel(name = "波长选择的方法和相关参数")
    private String waveSelect;

    /** 选中的波长 */
    @Excel(name = "选中的波长")
    private String selectedIndices;

    /** 备注信息（如“用于PLS模型训练”“导数阶数1阶”等） */
    @Excel(name = "备注信息", readConverterExp = "如=“用于PLS模型训练”“导数阶数1阶”等")
    private String remarks;

    /** 软删除标识（0：未删除，1：已删除） */
    @Excel(name = "软删除标识", readConverterExp = "0=：未删除，1：已删除")
    private Long isDelete;

    /** 新增人ID（关联用户表） */
    @Excel(name = "新增人ID", readConverterExp = "关=联用户表")
    private Long creatorId;

    /** 新增人姓名（冗余存储，避免关联查询用户表） */
    @Excel(name = "新增人姓名", readConverterExp = "冗=余存储，避免关联查询用户表")
    private String creator;

    /** 修改人ID（关联用户表） */
    @Excel(name = "修改人ID", readConverterExp = "关=联用户表")
    private Long modifierId;

    /** 修改人姓名（冗余存储） */
    @Excel(name = "修改人姓名", readConverterExp = "冗=余存储")
    private String modifier;

    /** 记录最后修改时间（更新时自动刷新） */
    @Excel(name = "记录最后修改时间", readConverterExp = "更=新时自动刷新")
    private Date modifyTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setModelId(String modelId) 
    {
        this.modelId = modelId;
    }

    public String getModelId() 
    {
        return modelId;
    }

    public void setDatasetId(Long datasetId) 
    {
        this.datasetId = datasetId;
    }

    public Long getDatasetId() 
    {
        return datasetId;
    }

    public void setWaveSelect(String waveSelect) 
    {
        this.waveSelect = waveSelect;
    }

    public String getWaveSelect() 
    {
        return waveSelect;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }

    public void setCreatorId(Long creatorId) 
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId() 
    {
        return creatorId;
    }

    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public void setModifierId(Long modifierId) 
    {
        this.modifierId = modifierId;
    }

    public Long getModifierId() 
    {
        return modifierId;
    }

    public void setModifier(String modifier) 
    {
        this.modifier = modifier;
    }

    public String getModifier() 
    {
        return modifier;
    }

    public void setModifyTime(Date modifyTime) 
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime() 
    {
        return modifyTime;
    }

    public String getSelectedIndices() {
        return selectedIndices;
    }

    public void setSelectedIndices(String selectedIndices) {
        this.selectedIndices = selectedIndices;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("modelId", getModelId())
            .append("datasetId", getDatasetId())
            .append("waveSelect", getWaveSelect())
            .append("remarks", getRemarks())
            .append("isDelete", getIsDelete())
            .append("creatorId", getCreatorId())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("modifierId", getModifierId())
            .append("modifier", getModifier())
            .append("modifyTime", getModifyTime())
            .append("selectedIndices",getSelectedIndices())
            .toString();
    }
}
